.nova-button {
  font-family: var(--nova-font-sans-serif);
  vertical-align: top;
  text-align: center;
  display: inline-block;
  cursor: pointer;
  line-height: var(--nova-line-height);
  min-height: 30px;
  padding: 4px 14px;
  margin: 0;
  font-size: var(--nova-font-size);
  border-radius: var(--nova-radius);
  border: var(--nova-border);
  background-color: var(--nova-color-bg-component);
  color: var(--nova-color-font);
  transition: var(--nova-transition-component);

  &:not([disabled]) {
    &:focus {
      position: relative;
      outline: none;
      border: var(--nova-border-primary);
      box-shadow: var(--nova-shadow-primary);
    }

    &:hover {
      border: var(--nova-border-primary);
    }
  }

  &[disabled] {
    cursor: not-allowed;
    opacity: 0.5;
  }
}

.nova-button-primary {
  color: var(--nova-color-white);
  background-color: var(--nova-color-primary);
}

.nova-button-icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: top;

  .md-icon {
    font-size: 18px;
    margin: 1px;
  }

  + span {
    display: inline-block;
    vertical-align: top;
    text-indent: 5px;
  }
}

.nova-button-icon-only {
  padding: 4px;
}
